/*
 * enc_gpio.h
 *
 *  Created on: 2018年11月8日
 *  Author: Degang.Wu (windragon@126.com)
 *  Desc:
 */

#ifndef ENC_GPIO_H_
#define ENC_GPIO_H_


#define SYSFS_GPIO_EXPORT 				"/sys/class/gpio/export"
#define SYSFS_GPIO_UNEXPORT 			"/sys/class/gpio/unexport"

#define SYSFS_GPIO_SUBID_PIN 			0

#define SYSFS_GPIO_VAL_L				0
#define SYSFS_GPIO_VAL_H				1

#define SYSFS_GPIO_DIR_IN				0
#define SYSFS_GPIO_DIR_OUT				1

#define SYSFS_GPIO_EDGE_NONE			0
#define SYSFS_GPIO_EDGE_RISING			1
#define SYSFS_GPIO_EDGE_FALLING			2
#define SYSFS_GPIO_EDGE_BOTH			3

#define GPIO_REG_ADDR_SUBID				0x1215001c
#define DEFAULT_MD_LEN 128


#ifdef __cplusplus
	extern "C" {
#endif

int hienc_gpio_export(int pin);
int hienc_gpio_unexport(int pin);
int hienc_gpio_set_direction(int pin, int dir);
int hienc_gpio_set_edge(int pin, int edge);
int hienc_gpio_write(int pin, int value);
int hienc_gpio_read(int pin);

#ifdef __cplusplus
	}
#endif

#endif /* ENC_GPIO_H_ */
